package com.telit.android.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * app_sign_in
 * @author
 */
@ApiModel(value="com.telit.entity.AppSignIn用户签到信息表")
@Data
public class AppSignIn implements Serializable {
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    @ApiModelProperty(value="用户ID")
    private Long userId;

    /**
     * 签到时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value="签到时间")
    private Date signInTime;

    /**
     * 签到经度
     */
    @ApiModelProperty(value="签到经度")
    private Double longitude;

    /**
     * 签到纬度
     */
    @ApiModelProperty(value="签到纬度")
    private Double latitude;

    /**
     * 签到地点
     */
    @ApiModelProperty(value="签到地点")
    private String signInPlace;

    /**
     * 签到照片
     */
    @ApiModelProperty(value="签到照片")
    private String imageUrl;

    /**
     * 签到说明
     */
    @ApiModelProperty(value="签到说明")
    private String content;

    /**
     * 行政区划名称
     */
    @ApiModelProperty(value="行政区划名称")
    private String districtName;

    /**
     * 行政区划代码
     */
    @ApiModelProperty(value="行政区划代码")
    private String districtCode;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value="创建时间")
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value="更新时间")
    private Date updateTime;

    /**
     * 更新人
     */
    @ApiModelProperty(value="更新人")
    private String updateUser;

    @ApiModelProperty(value = "文件预览地址")
    @TableField(exist=false)
    private List<String> previewUrl;

    @ApiModelProperty(value = "用户真实姓名")
    @TableField(exist=false)
    private String realName;

    private static final long serialVersionUID = 1L;
}